<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 数组的遍历方法
    var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.forEach(function (item, index, array) {
    //     console.log(item, index, array);
    // })
    // console.log(result);

    // var sum = 0;
    // var result = list.forEach(function (item, index, array) {
    //     sum += item;
    // })
    // console.log(sum);


    // 数组映射  => 根据回调函数的返回值得到新数组
    // var result = list.map(function (item, index, array) {
    //     console.log(item, index, array);
    //     return item * 10;
    // })
    // console.log(result);

    // 数组筛选  => 回调函数返回一个条件表达式,把满足条件的元素放到新数组中
    //  如果返回值不是条件表达式,会隐式转化为布尔值 在判断
    // var result = list.filter(function (item, index, array) {
    //     console.log(item, index, array);
    //     // return item % 2 == 0; // 偶数
    //     return item % 2; // 0   1
    // })
    // console.log(result);

    // some()  判断数组是否存在满足条件的元素  存在 => true 不存在 => false
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // // 假设不存在 => 找到存在的则返回true  都不存在则返回false
    // var result = list.some(function (item, index, array) {
    //     console.log(item, index, array);
    //     // return item % 3 == 0;
    //     return item % 2 == 0;
    // })
    // console.log(result);

    // every()  判断数组的元素是否都满足条件  都满足 => true  有一个不满足 => false
    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // // 假设都满足条件 => 找到不满足条件的元素则返回false  都满足则返回true
    // var result = list.every(function (item, index, array) {
    //     console.log(item, index, array);
    //     // return item % 2 == 0;
    //     return item > 0;
    // })
    // console.log(result);

    // find()           找到满足条件的第一个元素  存在 => 返回该元素 不存在 => undefined
    // findIndex()      找到满足条件的第一个元素的下标   存在 => 返回该元素的下标 不存在 => -1
    // findLast()       找到满足条件的最后一个元素  (倒着找)
    // findLastIndex()  找到满足条件的最后一个元素的下标

    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.find(function (item, index, array) {
    //     console.log(item, index, array);
    //     return item % 2 == 0; // 偶数
    // })
    // console.log(result);

    // var result = list.findIndex(function (item, index, array) {
    //     console.log(item, index, array);
    //     return item % 2 == 0; // 偶数
    // })
    // console.log(result);


    // var list = [1, 4, 7, 2, 5, 8, 3, 6, 9];
    // var result = list.findLast(function (item, index, array) {
    //     console.log(item, index, array);
    //     return item % 2 == 0; // 偶数
    // })
    // console.log(result);

    // var result = list.findLastIndex(function (item, index, array) {
    //     console.log(item, index, array);
    //     return item % 2 == 0; // 偶数
    // })
    // console.log(result);



    var arr = [1, 2, 3, 4];

    arr[-1] = -1
    arr["a"] = 1;
    arr["b"] = 2;

    console.log(arr);


    // for (var i in arr) {
    //     console.log(i, arr[i]);
    // }

    for (var val of arr) {
        console.log(val);
    }



























</script>

</html>